1. The Field of the Invention
The present invention relates to computing technology; and more specifically, to mechanisms that allow application instances that govern message transactions to adaptively recover from system failure.
2. Background and Related Art
Computing technology has transformed the way we work and play. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), household devices and the like. Currently, computing system technology has improved significantly. Numerous application instances may run on a single computing system at the same time. This complexity provides for ever-improving computing utility.
Despite such improvements, however, computing systems do still occasionally experience system failures. Some system failures may prohibit the computing system from performing clean up processes prior to shutting down completely. Accordingly, instances that were in process at the time of the system failure may have inconsistent state and run improperly during subsequent power-up.
In order to avoid this, many conventional applications perform some level of self-consistency checking upon execution to ensure that the application is operating with consistent state. Such self-consistency checking can be quite processor intensive depending on the level of self-consistency checking. The self-consistency checking is often performed regardless of whether or not there was a prior system failure that would cause inconsistent state. Accordingly, many times, the self-consistency checking is for naught since most of the time the computing system is shut down safely and the application was previously terminated properly, thereby resulting in consistent state.
What would be advantageous are mechanisms in which application state consistency is protected while conserving processing resources.